home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / stpmv.z / stpmv
Encoding:
Text File  |  2002-10-03  |  16.1 KB  |  331 lines

  1.  
  2.  
  3.  
  4. SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SSSSTTTTPPPPMMMMVVVV, DDDDTTTTPPPPMMMMVVVV, CCCCTTTTPPPPMMMMVVVV, ZZZZTTTTPPPPMMMMVVVV - Multiplies a real or complex vector by a
  10.      real or complex triangular packed matrix
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      Single precision
  14.  
  15.           Fortran:
  16.                CCCCAAAALLLLLLLL SSSSTTTTPPPPMMMMVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  17.  
  18.           C/C++:
  19.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  20.                vvvvooooiiiidddd ssssttttppppmmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,, ffffllllooooaaaatttt
  21.                *_a_p,,,, ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  22.  
  23.      Double precision
  24.  
  25.           Fortran:
  26.                CCCCAAAALLLLLLLL DDDDTTTTPPPPMMMMVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  27.  
  28.           C/C++:
  29.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  30.                vvvvooooiiiidddd ddddttttppppmmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee
  31.                *_a_p,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  32.  
  33.      Single precision complex
  34.  
  35.           Fortran:
  36.                CCCCAAAALLLLLLLL CCCCTTTTPPPPMMMMVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  37.  
  38.           C/C++:
  39.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  40.                vvvvooooiiiidddd ccccttttppppmmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  41.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a_p,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  42.  
  43.           C++ STL:
  44.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  45.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  46.                vvvvooooiiiidddd ccccttttppppmmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  47.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a_p,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  48.  
  49.      Double precision complex
  50.  
  51.           Fortran:
  52.                CCCCAAAALLLLLLLL ZZZZTTTTPPPPMMMMVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  53.  
  54.           C/C++:
  55.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  56.                vvvvooooiiiidddd zzzzttttppppmmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  57.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a_p,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))
  71.  
  72.  
  73.  
  74.           C++ STL:
  75.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  76.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  77.                vvvvooooiiiidddd zzzzttttppppmmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  78.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a_p,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  79.  
  80. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  81.      These routines are part of the SCSL Scientific Library and can be loaded
  82.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  83.      directs the linker to use the multi-processor version of the library.
  84.  
  85.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  86.      4 bytes (32 bits). Another version of SCSL is available in which integers
  87.      are 8 bytes (64 bits).  This version allows the user access to larger
  88.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  89.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  90.      only one of the two versions; 4-byte integer and 8-byte integer library
  91.      calls cannot be mixed.
  92.  
  93.      The C and C++ prototypes shown above are appropriate for the 4-byte
  94.      integer version of SCSL. When using the 8-byte integer version, the
  95.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  96.      file should be included.
  97.  
  98. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  99.      These routines perform one of the following matrix-vector operations:
  100.  
  101.           _x <- _A_x
  102.  
  103.           _x <- _A_T_x
  104.  
  105.           _x <- _A_H_x (CCCCTTTTPPPPMMMMVVVV, ZZZZTTTTPPPPMMMMVVVV only)
  106.  
  107.      where _A_T is the transpose of _A, _A_H is the conjugate transpose of _A, _x is
  108.      an _n-element vector, and _A may be either a unit or nonunit _n-by-_n upper
  109.      or lower triangular matrix.
  110.  
  111.      These routines have the following arguments:
  112.  
  113.      _u_p_l_o      Character.  (input)
  114.                Specifies whether the matrix is an upper or lower triangular
  115.                matrix, as follows:
  116.  
  117.                _u_p_l_o = 'U' or 'u':  _A is an upper triangular matrix.
  118.                _u_p_l_o = 'L' or 'l':  _A is a lower triangular matrix.
  119.  
  120.                For C/C++, a pointer to this character is passed.
  121.  
  122.      _t_r_a_n_s     Character.  (input)
  123.                Specifies the operation to be performed, as follows:
  124.  
  125.                _t_r_a_n_s = 'N' or 'n':  _x <- _A_x
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))
  137.  
  138.  
  139.  
  140.                _t_r_a_n_s = 'T' or 't':  _x <- _A_T_x
  141.  
  142.                _t_r_a_n_s = 'C' or 'c':  _x <- _A_T_x  (SSSSTTTTPPPPMMMMVVVV, DDDDTTTTPPPPMMMMVVVV), or _x <- _A_H_x
  143.                (CCCCTTTTPPPPMMMMVVVV, ZZZZTTTTPPPPMMMMVVVV)
  144.  
  145.                For C/C++, a pointer to this character is passed.
  146.  
  147.      _d_i_a_g      Character.  (input)
  148.                Specifies whether _A is unit triangular, as follows:
  149.  
  150.                _d_i_a_g = 'U' or 'u': _A is assumed to be unit triangular.
  151.                _d_i_a_g = 'N' or 'n': _A is not assumed to be unit triangular.
  152.  
  153.                For C/C++, a pointer to this character is passed.
  154.  
  155.      _n         Integer.  (input)
  156.                Specifies the order of matrix _A.  _n >= 0.
  157.  
  158.      _a_p        Array of dimension (_n(_n+1))/2.  (input)
  159.                SSSSTTTTPPPPMMMMVVVV: Single precision array.
  160.                DDDDTTTTPPPPMMMMVVVV: Double precision array.
  161.                CCCCTTTTPPPPMMMMVVVV: Single precision complex array.
  162.                ZZZZTTTTPPPPMMMMVVVV: Double precision complex array.
  163.  
  164.                Before entry with _u_p_l_o = 'U' or 'u', array _a_p must contain the
  165.                upper triangular matrix packed sequentially, column-by-column,
  166.                so that _a_p(1) contains _A(1,1), _a_p(2) contains _A(1,2), _a_p(3)
  167.                contains _A(2,2), and so on.
  168.  
  169.                Before entry with _u_p_l_o = 'L' or 'l', array _a_p must contain the
  170.                lower triangular matrix packed sequentially, column-by-column,
  171.                so that _a_p(1) contains _A(1,1), _a_p(2) contains _A(2,1), _a_p(3)
  172.                contains _A(3,1), and so on.
  173.  
  174.                When _d_i_a_g = 'U' or 'u', these routines assume that all elements
  175.                of the array _a that represent diagonal elements of the matrix _A
  176.                are 1.  In this case, neither of these routines will reference
  177.                any of the diagonal elements.
  178.  
  179.      _x         Array of dimension 1+(_n-1) * |_i_n_c_x|.  (input and output)
  180.                SSSSTTTTPPPPMMMMVVVV: Single precision array.
  181.                DDDDTTTTPPPPMMMMVVVV: Double precision array.
  182.                CCCCTTTTPPPPMMMMVVVV: Single precision complex array.
  183.                ZZZZTTTTPPPPMMMMVVVV: Double precision complex array.
  184.                Contains the vector _x.  On exit, the transformed vector
  185.                overwrites array _x.
  186.  
  187.      _i_n_c_x      Integer.  (input)
  188.                Specifies the increment for the elements of _x.  _i_n_c_x must not
  189.                be 0.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))
  203.  
  204.  
  205.  
  206. NNNNOOOOTTTTEEEESSSS
  207.      These routines are Level 2 Basic Linear Algebra Subprograms (Level 2
  208.      BLAS).
  209.  
  210.      When working backward (_i_n_c_x < 0), each routine starts at the end of the
  211.      vector and moves backward, as follows:
  212.  
  213.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)), ..., _x(1)
  214.  
  215.  
  216.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  217.      The following data types are described in this documentation:
  218.  
  219.           TTTTeeeerrrrmmmm UUUUsssseeeedddd                     DDDDaaaattttaaaa ttttyyyyppppeeee
  220.  
  221.      Fortran:
  222.  
  223.           Array dimensioned _n           xxxx((((nnnn))))
  224.  
  225.           Character                     CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR
  226.  
  227.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  228.  
  229.           Single precision              RRRREEEEAAAALLLL
  230.  
  231.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  232.  
  233.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  234.  
  235.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  236.  
  237.      C/C++:
  238.  
  239.           Array dimensioned _n           xxxx[[[[_n]]]]
  240.  
  241.           Character                     cccchhhhaaaarrrr
  242.  
  243.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  244.  
  245.           Single precision              ffffllllooooaaaatttt
  246.  
  247.           Double precision              ddddoooouuuubbbblllleeee
  248.  
  249.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  250.  
  251.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  252.  
  253.      C++ STL:
  254.  
  255.           Array dimensioned _n           xxxx[[[[_n]]]]
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPMMMMVVVV((((3333SSSS))))
  269.  
  270.  
  271.  
  272.           Character                     cccchhhhaaaarrrr
  273.  
  274.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  275.  
  276.           Single precision              ffffllllooooaaaatttt
  277.  
  278.           Double precision              ddddoooouuuubbbblllleeee
  279.  
  280.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  281.  
  282.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  283.  
  284. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  285.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S)
  286.  
  287.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  288.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  289.      Linear Algebra Subprograms Technical Forum.
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.